# READ_CALL_LOG 是 Android 10+ 中的一项严格限制权限。除非系统豁免，否则用户无法授予此权限。
# 最常见的方法是通过安装程序进行豁免，但在添加新的系统应用时这种方法不适用。
# 因此，我们直接通过 binder 与权限服务通信来更改标志位。
# 此命令会阻塞任意时间，因为它需要等待主用户解锁设备。

source "${0%/*}/boot_common.sh" /data/local/tmp/bcr_service.log

# 移除硬性限制
header Remove hard restrictions
run_cli_apk com.sanji.audio_test.standalone.RemoveHardRestrictionsKt


# 包状态
header Package state
dumpsys package "${app_id}"

# 手动修复设备保护数据目录的 SELinux 标签。
# OxygenOS 在 OnePlus 设备上似乎最初创建的目录标签不正确。
# 例如，应该是 `u:object_r:privapp_data_file:s0:c512,c768`，
# 而不是 `u:object_r:app_data_file:s0:c79,c257,c512,c768`。
# 这要求模块必须刷入两次，因为在 Android 创建 /data/data/<id> 之前我们不知道预期标签应该是什么。
header Fixing DP storage SELinux label
restorecon -RDv /data/user_de/0/"${app_id}"